#include <iostream>
#include <string>
#include <Windows.h>
using namespace std;

int main()
{
    SetConsoleCP(1251);
    setlocale(0, "ru");
    string line, word="", longword="";
    int count = 0;
    int words = 0;
    int big = 0;
    int latin = 0;
    bool iflatin;
    iflatin = false;
    int smol = 0;
    int hyp = 0;
    bool ifhyp;
    int longcount = 0;
    ifhyp = false;
    cout << "Введите группу слов: ";
    getline(cin, line);
    line += ' ';
    for (char i : line)
    {
        char ch = i;
        if (ch == ' ')
        {
            if (word[0] >= 'А' && word[0] <= 'Я' || word[0] == 'Ё')
            {
                big++;
            }

            if (count <= 3)
            {
                smol++;
            }
            
            if (iflatin == true)
            {
                latin++;
                iflatin = false;
            }

            if (ifhyp == true)
            {
                hyp++;
                ifhyp = false;
            }
            
            if (longcount < count)
            {
                longcount = count;
                longword = word;
            }
            words++;
            word.clear();
            count = 0;

        }

        else
        {
            if (ch >= 'a' && ch <= 'z' || ch >= 'A' && ch <= 'Z')
            {
                iflatin = true;
            }

            if (ch == '-')
            {
                ifhyp = true;
            }
            word += ch;
            count++;
        }
    }
    if (words <= 1)
    {
        cout << "Мало данных для анализа";
        return 0;
    }
    cout << "Кол-во слов: " << words << endl;
    cout << "Кол-во слов с заглавной кириллической буквы: " << big << endl;
    cout << "Кол-во слов содержащих латинский символ:" << latin << endl;
    cout << "Кол-во слов не превышающих 3 символа: " << smol << endl;
    cout << "Кол-во слов в составе которых имеется дефис: " << hyp << endl << endl;
    cout << "Самое длинное слово: " << longword << endl;
    cout << "Длина слова: " << longcount << endl;
}

